low level data model